package com.xinzhidi.web.householdClassify.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xinzhidi.common.core.page.TableDataInfo;
import com.xinzhidi.web.householdClassify.domain.HouseholdClassify;
import com.xinzhidi.web.householdClassify.dto.HouseholdClassifyAddDto;
import com.xinzhidi.web.householdClassify.dto.HouseholdClassifyListDto;
import com.xinzhidi.web.householdClassify.dto.HouseholdClassifyUpdDto;
import com.xinzhidi.web.householdClassify.vo.HouseholdClassifyInfoVo;
import com.xinzhidi.web.householdClassify.vo.HouseholdClassifyListVo;
import com.xinzhidi.web.plot.domain.vo.SelectVo;


/**
 * 住户分类Service接口
 *
 * @author gm
 * @date 2023-06-09
 */
public interface IHouseholdClassifyService  extends IService<HouseholdClassify>
{
    /**
     * 查询住户分类
     *
     * @param id 住户分类主键
     * @return 住户分类
     */
    public HouseholdClassifyInfoVo selectHouseholdClassifyById(Long id);

    /**
     * 查询住户分类列表
     *
     * @param dto 住户分类
     * @return 住户分类集合
     */
    public TableDataInfo<HouseholdClassifyListVo> selectHouseholdClassifyList(HouseholdClassifyListDto dto);

    /**
     * 新增住户分类
     *
     * @param dto 住户分类
     * @return 结果
     */
    public int insertHouseholdClassify(HouseholdClassifyAddDto dto);

    /**
     * 修改住户分类
     *
     * @param dto 住户分类
     * @return 结果
     */
    public int updateHouseholdClassify(HouseholdClassifyUpdDto dto);

    /**
     * 批量删除住户分类
     *
     * @param ids 需要删除的住户分类主键集合
     * @return 结果
     */
    public int deleteHouseholdClassifyByIds(Long[] ids);

    /**
     * 删除住户分类信息
     *
     * @param id 住户分类主键
     * @return 结果
     */
    public int deleteHouseholdClassifyById(Long id);

    TableDataInfo<SelectVo> listHouseholdClassifySelect(HouseholdClassifyListDto dto);

    /**
     * 移动住户分类
     *
     * @param id 住户分类主键
     * @return 结果
     */
    boolean moveHouseholdClassify(Long id);
}
